Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
REEFT_GPS_new
/
REEFT_GPS
:
ajax_get_timelog.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php //====================================================================================== // // Function: Get Timelog list from TEO // // Programmer: AR // Date : 2025-03-26 // // Copyright Reeft A/S (c) - 2025 //====================================================================================== //====================================================================================== // Set session //====================================================================================== if(!isset($_SESSION)) { session_start(); } //====================================================================================== // Language data ["en", "de", "da", "no", "sv"] //====================================================================================== $loginLanguage = $_SESSION['loginLanguage']; include "language/$loginLanguage.php"; //====================================================================================== // General //====================================================================================== include "include/apikey.php"; include "rft_apicall.php"; include "REEFT_date_convert/config_about_date.php"; include "REEFT_date_convert/REEFT_date_convert.php"; $returnResult = []; $returnResult["error"] = ""; //====================================================================================== // Get input //====================================================================================== if (isset($_SESSION["receivedToken"])) { $receivedToken = $_SESSION["receivedToken"]; } else { $returnResult["error"] = "receivedToken missing"; echo json_encode($returnResult); exit; } if (isset($_SESSION["ConsiderOrganizationHeader"])) { $ConsiderOrganizationHeader = $_SESSION["ConsiderOrganizationHeader"]; } else { $ConsiderOrganizationHeader = ""; } if (isset($_SESSION["UseSharedDb"])) { $UseSharedDb = $_SESSION["UseSharedDb"]; } else { $UseSharedDb = ""; } if (isset($_SESSION["TargetOrganization"])) { $TargetOrganization = $_SESSION["TargetOrganization"]; } else { $TargetOrganization = ""; } if (isset($_REQUEST["userId"])) { $userId = $_REQUEST["userId"]; } else { $userId = ""; } if (isset($_REQUEST["startDate"])) { $startDate = $_REQUEST["startDate"]; } else { $startDate = ""; } if (isset($_REQUEST["endDate"])) { $endDate = $_REQUEST["endDate"]; } else { $endDate = ""; } $startDateUTC = REEFT_local_to_utc($startDate); $endDateUTC = REEFT_local_to_utc($endDate); $headers = [ 'accept: text/plain', 'ConsiderOrganizationHeader: ' . $ConsiderOrganizationHeader, 'UseSharedDb: ' . $UseSharedDb, 'TargetOrganization: ' . $TargetOrganization, ]; $url = $rftUrl . '/TimeLog?UserId='.$userId.'&From='.urlencode($startDateUTC).'&To='.urlencode($endDateUTC).'&Statuses=0&Statuses=1&Statuses=2&Statuses=3'; $response = makeApiCall($url, $headers); if (isset($response['error'])) { $returnResult["error"] = $response['error']; } else if (isset($response['data']) && is_array($response['data'])) { // Create new data node $i = 0; foreach ($response['data'] as $dayArr) { foreach ($dayArr as $key => $item) { $tmpArr = array(); $tmpArr["id"] = $item["id"]; $tmpArr["status"] = $item["status"]; $tmpArr["statusName"] = $locale_text["TIMESHEET_STATUS"][$item["status"]]; $tmpArr["caseTypeName"] = $item["caseTypeName"]; $tmpArr["salaryTypeName"] = $item["salaryTypeName"]; $tmpArr["jobName"] = $item["jobName"]; $tmpArr["jobNumber"] = $item["jobNumber"]; $tmpArr["jobStatus"] = $item["jobStatus"]; $tmpArr["jobStatusName"] = $locale_text["JOB_STATUS"][$item["jobStatus"]]; $tmpArr["customerId"] = $item["customerId"]; $tmpArr["customerName"] = $item["customerName"]; $tmpArr["customerCode"] = $item["customerCode"]; $tmpArr["serviceUnitId"] = $item["serviceUnitId"]; $tmpArr["serviceUnitName"] = $item["serviceUnitName"]; $tmpArr["serviceUnitCode"] = $item["serviceUnitCode"]; $tmpArr["serviceUnitSerialNumber"] = @$item["serviceUnitSerialNumber"]; $tmpArr["activityTypeName"] = $item["activityTypeName"]; $tmpArr["addressName"] = @$item["addressName"]; $tmpArr["location"] = @$item["location"]; $tmpArr["street"] = @$item["street"]; $tmpArr["region"] = @$item["region"]; $tmpArr["zipCode"] = @$item["zipCode"]; $tmpArr["city"] = @$item["city"]; $tmpArr["country"] = @$item["country"]; $tmpArr["startLatitude"] = @$item["startLatitude"]; $tmpArr["startLongitude"] = @$item["startLongitude"]; $tmpArr["endLatitude"] = @$item["endLatitude"]; $tmpArr["endLongitude"] = @$item["endLongitude"]; $tmpArr["dayApproved"] = $item["dayApproved"]; $tmpArr["unit"] = @$item["unit"]; $tmpArr["noteBy"] = @$item["noteBy"]; $tmpArr["noteByUser"] = @$item["noteByUser"]; $tmpArr["noteDateTime"] = @$item["noteDateTime"]; $tmpArr["loggedStartTime"] = @$item["loggedStartTime"]; $tmpArr["loggedEndTime"] = @$item["loggedEndTime"]; $tmpArr["manualStartTime"] = @$item["manualStartTime"]; $tmpArr["manualEndTime"] = @$item["manualEndTime"]; $tmpArr["trackedStartTime"] = @$item["trackedStartTime"]; $tmpArr["trackedEndTime"] = @$item["trackedEndTime"]; $tmpArr["description"] = @$item["description"]; $tmpArr["salaryTypeId"] = $item["salaryTypeId"]; $tmpArr["jobId"] = $item["jobId"]; $tmpArr["date"] = $item["date"]; $tmpArr["unitValue"] = @$item["unitValue"]; $sortDate = ""; $sorttype = ""; // Manual time is the king, logged comes before tracked, if unit we just uses date to sort if ($tmpArr["manualStartTime"] != null && strtoupper($tmpArr["manualStartTime"]) != 'NULL' && trim($tmpArr["manualStartTime"]) != "") { $tmpArr["manualStartTimeLocal"] = REEFT_utc_to_local($tmpArr["manualStartTime"]); $sortDate = $tmpArr["manualStartTime"]; $sorttype = "manual"; } else { $tmpArr["manualStartTimeLocal"] = $tmpArr["manualStartTime"]; } if ($tmpArr["manualEndTime"] != null && strtoupper($tmpArr["manualEndTime"]) != 'NULL' && trim($tmpArr["manualEndTime"]) != "") { $tmpArr["manualEndTimeLocal"] = REEFT_utc_to_local($tmpArr["manualEndTime"]); } else { $tmpArr["manualEndTimeLocal"] = $tmpArr["manualEndTime"]; } if ($tmpArr["loggedStartTime"] != null && strtoupper($tmpArr["loggedStartTime"]) != 'NULL' && trim($tmpArr["loggedStartTime"]) != "") { $tmpArr["loggedStartTimeLocal"] = REEFT_utc_to_local($tmpArr["loggedStartTime"]); if ($sortDate == "") { $sortDate = $tmpArr["loggedStartTime"]; $sorttype = "logged"; } } else { $tmpArr["loggedStartTimeLocal"] = $tmpArr["loggedStartTime"]; } if ($tmpArr["loggedEndTime"] != null && strtoupper($tmpArr["loggedEndTime"]) != 'NULL' && trim($tmpArr["loggedEndTime"]) != "") { $tmpArr["loggedEndTimeLocal"] = REEFT_utc_to_local($tmpArr["loggedEndTime"]); } else { $tmpArr["loggedEndTimeLocal"] = $tmpArr["loggedEndTime"]; } if ($tmpArr["trackedStartTime"] != null && strtoupper($tmpArr["trackedStartTime"]) != 'NULL' && trim($tmpArr["trackedStartTime"]) != "") { $tmpArr["trackedStartTimeLocal"] = REEFT_utc_to_local($tmpArr["trackedStartTime"]); if ($sortDate == "") { $sortDate = $tmpArr["trackedStartTime"]; $sorttype = "tracked"; } } else { $tmpArr["trackedStartTimeLocal"] = $tmpArr["trackedStartTime"]; } if ($tmpArr["trackedEndTime"] != null && strtoupper($tmpArr["trackedEndTime"]) != 'NULL' && trim($tmpArr["trackedEndTime"]) != "") { $tmpArr["trackedEndTimeLocal"] = REEFT_utc_to_local($tmpArr["trackedEndTime"]); } else { $tmpArr["trackedEndTimeLocal"] = $tmpArr["trackedEndTime"]; } if ($tmpArr["noteDateTime"] != null && strtoupper($tmpArr["noteDateTime"]) != 'NULL' && trim($tmpArr["noteDateTime"]) != "") { $tmpArr["noteDateTimeLocal"] = REEFT_utc_to_local($tmpArr["noteDateTime"]); } else { $tmpArr["noteDateTimeLocal"] = $tmpArr["noteDateTime"]; } if ($sortDate == "") { $sortDate = $tmpArr["date"]."_".$key ; $sorttype = "unit"; } $tmpArr["sorttype"] = $sorttype; $i++; $returnResult[$sortDate] = $tmpArr; } } } ksort($returnResult); //sort by date asc echo json_encode($returnResult);